package com.qf.map;

import java.util.ArrayList;
import java.util.LinkedList;

/**
 * 3、有80个小朋友手拉手围成一圈，由第一个小朋友（下标为0）开始从1开始数，
 * 数到3的小朋友退出，再从后面的小朋友从1数起，数到3的再退出，
 * 以此游戏下去，问最后剩下哪个小朋友？(使用集合实现)
 */
public class Demo03 {
    public static void main(String[] args) {
        LinkedList<Integer> arr = new LinkedList<>();
        LinkedList<Integer> delete = new LinkedList<>();

        for (int i = 1; i <= 80; i++) { // 加载80个小朋友
            arr.add(i);
        }

        Integer count = 0; // 逢三禁一
        while (true) {

            for (Integer integer : arr) {
                count++;
                if (count % 3 == 0) {
                    delete.add(integer);
                }
            }
            arr.removeAll(delete);

            if (arr.size() == 1) break;
        }


        System.out.println(arr);
    }
}
